Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SourceKit] Link with libdispatch & libswiftCore on Linux #3594

Merged
merged 3 commits into from
Jul 21, 2016

Conversation

jpsim
Copy link
Contributor

@jpsim jpsim commented Jul 18, 2016

What's in this pull request?

This PR is exactly #2862, with some minor additional changes to account for the new libdispatch Swift overlay that was added since the original PR and so must now link swiftCore.

Everything else that was discussed in #2862 still applies here.

cc @akyrtzi @briancroom @modocache

All credit here goes to @briancroom @modocache and @norio-nomura, I just re-assembled the commits.

Resolved bug number: (SR-1677)


Before merging this pull request to apple/swift repository:

  • Test pull request on Swift continuous integration.

Triggering Swift CI

The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:

Smoke Testing

Platform Comment
All supported platforms @swift-ci Please smoke test
All supported platforms @swift-ci Please smoke test and merge
OS X platform @swift-ci Please smoke test OS X platform
Linux platform @swift-ci Please smoke test Linux platform

Validation Testing

Platform Comment
All supported platforms @swift-ci Please test
All supported platforms @swift-ci Please test and merge
OS X platform @swift-ci Please test OS X platform
OS X platform @swift-ci Please benchmark
Linux platform @swift-ci Please test Linux platform

Lint Testing

Language Comment
Python @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

briancroom and others added 3 commits July 18, 2016 16:17
sourcekitdInProc, sourcekitd-test, and complete-test need to be explicitly
linked with libdispatch on Linux to build properly.
This file builds fine as long as libdispatch is available, even on
non-Darwin platforms.
since libdispatch now includes a Swift overlay
@jpsim jpsim force-pushed the sourcekit-link-libdispatch branch from 2d9e563 to d3d211b Compare July 19, 2016 17:11
@akyrtzi
Copy link
Contributor

akyrtzi commented Jul 19, 2016

@swift-ci Please test

@jpsim
Copy link
Contributor Author

jpsim commented Jul 20, 2016

@akyrtzi btw, I think you may need to re-trigger CI, since the last request was done during the CI maintenance window, whereas later requests have already started (#3616 (comment)).

@nkcsgexi
Copy link
Contributor

@swift-ci Please test

@jpsim
Copy link
Contributor Author

jpsim commented Jul 20, 2016

Please join me in a fire dance to get CI to run 😂

@modocache
Copy link
Contributor

Sounds like fun!

@swift-ci please test

@akyrtzi
Copy link
Contributor

akyrtzi commented Jul 21, 2016

OS X failure is unrelated.

@akyrtzi akyrtzi merged commit 488e335 into swiftlang:master Jul 21, 2016
@jpsim jpsim deleted the sourcekit-link-libdispatch branch July 21, 2016 06:33
@jpsim
Copy link
Contributor Author

jpsim commented Jul 21, 2016

Thanks @akyrtzi!

jpsim added a commit to jpsim/SourceKitten that referenced this pull request Jul 21, 2016
since swiftlang/swift#3594 & swiftlang/swift#3595 were recently merged, we can build
SourceKit without any patches to Swift! 🎉
@jpsim
Copy link
Contributor Author

jpsim commented Jul 21, 2016

FYI, SourceKit now builds successfully on Linux 🎉 (in two steps):

$ utils/build-script --libdispatch
$ utils/build-script --libdispatch --extra-cmake-options="-DSWIFT_BUILD_SOURCEKIT:BOOL=TRUE"

@paulofaria
Copy link
Contributor

@jpsim what's blocking it to being available by default in the toolchain?

@jpsim
Copy link
Contributor Author

jpsim commented Aug 19, 2016

Swift needs to be built twice for SourceKit to compile successfully, because libdispatch depends on Swift for its overlay, and SourceKit depends on libdispatch.

There's some build system refactoring needed to build SourceKit as part of a single, normal Swift build. This is being tracked as SR-1676 which is unassigned and up for grabs if you're interested in tackling this @paulofaria.

@jhribal
Copy link

jhribal commented Oct 9, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants